package com.zrwl.poscloud.xo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zrwl.poscloud.base.entity.DeptAdminR;
import com.zrwl.poscloud.base.superI.SuperService;
import com.zrwl.poscloud.xo.vo.DeptAdminRVO;
import com.zrwl.poscloud.xo.vo.DeptVO;

import java.util.List;
import java.util.Map;

/**
 * 部门权限 服务类
 *
 * @author 刘思童 AutoGenerate
 * @date 2022-03-10
 */
public interface DeptAdminRService extends SuperService<DeptAdminR> {

    public IPage<DeptAdminR> getPageList(DeptAdminRVO deptAdminRVO);

    public List<DeptAdminR> getAllList(DeptAdminRVO deptAdminRVO);

    public String add(DeptAdminRVO deptAdminRVO);

    public String edit(DeptAdminRVO deptAdminRVO);

    public String delete(DeptAdminRVO deptAdminRVO);

    public List<DeptVO> getAdminOwnDeptRoleListForTransferTree(DeptAdminRVO deptAdminRVO);

    public List<DeptVO> getAdminNotOwnDeptRoleListForTransferTree(DeptAdminRVO deptAdminRVO);

    public String editAdminDeptRoleForTransferTree(DeptAdminRVO deptAdminRVO);

    public List<DeptVO> getAdminOwnDeptRoleList(DeptAdminRVO deptAdminRVO, Map<String, DeptVO> deptMap);

    public String editAdminDeptRole(DeptAdminRVO deptAdminRVO);

    public String[] getMyDeptRoleTree();

    public String[] getMyDeptRoleTreeName();

    public String[] getMyDeptRoleTreeName(String companyUid, String adminUid);

    public String[] getMyDeptRoleTree(String companyUid, String adminUid);

    public String[] getMyDeptRoleTreeCode();

    public String[] getMyDeptRoleTreeCode(String companyUid, String adminUid);

    public List<String> getMyCodeByUid();

    Map<String, DeptVO> getMyDeptRoleTreeEntity(String companyUid, String adminUid);
    DeptAdminR getByCompany(String adminUid,String companyUid);
}
